Приложение 4. Вспомогательные утилиты
4.1. Утилита тестирования chdbfl
Утилита предназначена для автономной проверки и исправления файлов базы данных.
Внимание! Перед использованием данной утилиты следует обязательно сделать резервную копию файла базы данных.
Данная утилита предназначена для работы только с файловой базой данных. Файловая база данных используется:
● для хранения информационной базы в файловом варианте;
● хранения хранилища конфигурации.
Для запуска утилиты в каталоге установки системы «1С:Предприятие» нужно запустить приложение chdbfl. На экран выводится окно (см. рис.90).

Рис. 90. Утилита тестирования и исправления информационных баз
В поле Имя файла БД указать или выбрать имя файла информационной базы.
Установить флажок Исправлять обнаруженные ошибки, если требуется исправлять обнаруженные при проверке ошибки. Также этот флажок следует установить, если необходимо выполнить оптимизацию размещения служебной информации, ускоряющей открытие информационной базы (см. здесь).
Для начала работы утилиты нужно нажать кнопку Выполнить. К этому моменту выбранная информационная база не должна быть открыта конфигуратором или в режиме 1С:Предприятие.
Сообщения о найденных ошибках выводятся в текстовое поле.
Ниже текстового поля выводятся сообщения о результатах работы утилиты.
Также эта утилита может использоваться и для проверки хранилища конфигурации.
Рекомендуется использовать следующую последовательность шагов при использовании утилиты:
● Обязательно создать резервную копию файла базы данных.
● Выполнить тестирование без установленного флажка Исправлять обнаруженные ошибки.
● Если при тестировании не выявлено проблем, то можно выполнить тестирование с установленным флажком Исправлять обнаруженные ошибки – при этом будет выполнена операция реиндексации информационной базы или информационной базы хранилища. Такую операцию рекомендуется выполнять регулярно.
● Если при тестировании обнаружены проблемы, то попытаться выполнить исправление информационной базы. Если в процессе работы утилита сообщила о том, что какие-либо данные потеряны, то работать с такой информационной базой не рекомендуется. Из получившейся информационной базы можно:
● получить сохранившиеся данные и конфигурацию для создания на их основе новой информационной базы;
● получить последнюю версию конфигурации, на основании которой создать другое хранилище.
4.2. Утилита контроля целостности ci
4.2.1. Общая информация
Утилита контроля целостности (ci) предназначена для контроля состояния объектов файловой системы и базы данных, используемых при работе «1С:Предприятие», и обнаружения ситуации изменения этих объектов. Для определения факта неизменности объекта используется сравнение хеш-сумм контролируемых объектов (объектов контроля), которые вычислены по алгоритму SHA-1 (алгоритм криптографического хеширования). Процесс проверки состоит из формирования эталонных значений хеш-сумм и последующей регулярной проверки.
Примечание. Не поддерживается работа под управлением OS X.
Утилита работает со следующими объектами контроля:
● Файлы, расположенные в файловой системе;
● Некоторые таблицы базы данных системы «1С:Предприятие».
Списки объектов контроля для работы утилиты задаются с помощью шаблона источника информации. Шаблон источника информации описывается универсальным описателем источника информации (см. здесь). Такие шаблоны могут указываться в командной строке запуска утилиты непосредственно или как содержимое файла, указанного в качестве значения параметра in (см. здесь). Такой файл будет называться списком шаблонов (см. здесь).
Перечень объектов контроля и соответствующих хеш-сумм (такая пара называется эталоном) хранится в специальной базе эталонов, который формируется утилитой при запуске в режиме формирования базы эталонов. При запуске утилиты в режиме проверки выполняется вычисление хеш-сумм и сверка вычисленных хеш-сумм с ранее сформированной базой эталонов. В результате формируется отчет о работе в виде файла.
Утилита при запуске (или в каких-либо других режимах) автоматически не контролирует собственную целостность. Ограничение доступа к утилите, базе эталонов и результатам проверок следует осуществлять средствами операционной системы.
4.2.2. Список шаблонов источников информации
При необходимости указания для контроля одновременно нескольких объектов контроля (или набора объектов) можно использовать специальный файл – список шаблон источников информации. Каждая строка в этом файле содержит шаблон источника информации. Количество строк в файле не ограничено. Подробное описание формата шаблона источника информации см. здесь. Комментарий начинается с символа "#". Строка комментария, а также пустые строки и строки, состоящие из одних пробелов, игнорируется при формировании списка объектов контроля.
Файл списка шаблонов должен быть только в кодировке UTF-8.
Примеры универсальных описателей источников информации:
Копировать в буфер обмена# объект контроля – файл /tmp/vokas/spru.cvs file:///tmp/vokas/spru.cvs # объект контроля – все файлы в каталоге c:\Program Files\1cv8\8.3.4.408\bin rdir://c:\Program Files\1cv8\8.3.4.408\bin # объект контроля – все файлы .rc и .cfg в каталоге /home/user/.kde и подчиненных каталогах rdir:///home/user/.kde?*.rc,*.cfg # объект контроля – все файлы, начинающиеся с "V8" файлы в каталоге /tmp, без подкаталогов ndir:///tmp?V8*.txt # объект контроля – все поддерживаемые таблицы в базе данных, расположенной на MS SQL Server mssql://user:password@server/instance/dbname # объект контроля – таблицы users и config на сервер PostrgeSQL postgre://user:password@server:123/dbname?users,config # объект контроля – таблицы users в файловой базе данных dbe://c:\DB\checked_db?users
4.2.3. Универсальный описатель источника информации
Для описания объекта контроля используется специальный формат – универсальный описатель источника информации. В общем виде универсальный описатель источника информации выглядит следующим образом:
proto://[user:[password]@][server[:port]][/path/resource][?mask]
Подробнее рассмотрим каждую составную часть описателя:
● proto – описание типа объекта контроля. В качестве способа работы могут выступать:
● file – отдельный файл в файловой системе;
● ndir – файлы, расположенные в каталоге (без обхода подкаталогов);
● rdir – файлы, расположенные в каталоге и всех вложенных каталогах;
● mssql – база данных, расположенная в СУБД Microsoft SQL Server;
● ora – база данных, расположенная в СУБД Oracle Database;
● postgre – база данных, расположенная в СУБД PostgreSQL;
● db2 – база данных, расположенная в СУБД IBM DB2;
● dbe – файловый вариант базы данных «1С:Предприятия».
● user:password@ – описывает имя пользователя (user) и пароль (password), которые требуются для доступа к объекту контроля. Если выполняется контроль таблиц базы данных, то в качестве пользователя указывается пользователь СУБД, а не информационной базы «1С:Предприятия». Рекомендуется использовать параметры того пользователя, от имени которого создавалась база данных «1С:Предприятия». Символ «@» является обязательным в том случае, если указывается имя пользователя и пароль.
● server:port – имя компьютера (и порт доступа), на котором запущена СУБД, обсуживающая базу данных «1С:Предприятия»;
● /path/resource – полный путь к файлу или каталогу в нотации используемой операционной системы. В ОС Windows должен начинаться с имени диска, в ОС Linux – с обозначения корневой файловой системы (/). Если используется подключение к клиент-серверному варианту базы данных, то в качестве пути выступает имя базы данных в терминах используемой СУБД, если СУБД не поддерживает организацию экземпляров сервера, и комбинация из имени экземпляра и имени базы данных для СУБД, которые такую организацию поддерживают. Если в качестве пути к ресурсу указывается имя базы данных с указанием экземпляра СУБД, то доступ к СУБД осуществляется с использованием порта доступа по умолчанию и указание номера порта в описании имени сервера, на котором функционирует СУБД, не поддерживается.
● ?mask – перечень параметров описателя источника информации, разделенных запятыми. Зависит от протокола. В том случае, если в качестве объекта контроля выступают файлы, описанные по птротоколам ndir или rdir, то в качестве параметров могут выступать маски файлов. Если объектом контроля выступает таблица базы данных «1С:Предприятия», то в качестве параметров могут выступать имена таблиц:
● config – конфигурация базы данных;
● users – таблица пользователей конфигурации;
Обе этих таблицы являются виртуальными и содержат в себе информацию из нескольких таблиц базы данных «1С:Предприятия». Если в универсальном описателе информации присутствует ссылка на одну из приведенных выше таблиц, то хеш-сумма считается для всех данных, входящих в состав таблицы (физические таблицы, полностью или нет). Возможность контролировать фрагмент таблицы не предоставляется.
Примечание. При формировании универсального описателя источника информации следует избегать использования следующих символов: @ (кроме случая разделения имени пользователя/пароля и имени компьютера, на котором функционирует СУБД), /, \, :, ? (кроме случая указания в масках файлов, но не ранее), ~.
4.2.4. Файл базы эталонов
Хеш-суммы объектов контроля хранятся в специальном файле – базе эталонов. Файл содержит информацию в формате UTF-8. Местоположение и имя файла указывается при запуске утилиты. Данный файл имеет следующий формат:
Копировать в буфер обмена[Нормализованный вид универсального описателя источника информации] <объект контроля> = <хеш>
В этом формате Нормализованный вид универсального описателя источника информации содержит строку, аналогично тому, как она указана в шаблоне источников информации. Однако универсальный описатель источника информации приводится к нормализованному виду. При нормализации выполняются следующие действия:
● Для всех протоколов в конце описания объекта контроля (перед «?») добавляется прямой слеш («/»);
● Для протоколов, описывающих каталоги, в случае отсутствия маски, добавляется маска «*»;
● Для протоколов, описывающих базы данных, при отсутствии маски добавляется явное указание параметров config,users;
● Для протоколов, описывающих базы данных, маска «*» заменяется на явное указание config,users;
● Маски лексикографически сортируются;
● Обратные слеши («\») заменяются на прямые («/»);
● Несколько идущих друг за другом слешей (любых) заменяются одним прямым (например, конструкция «//\\//» заменяется на «/»).
Строка <объект> = <хеш> – содержит имя объекта контроля и хеш-сумму этого объекта. Таких строк может быть более одной. Если универсальный описатель источника информации содержит указание на конкретный файл, то выражение <объект> отсутствует, и строка сразу начинается с символа «=».
Пример фрагмента базы эталонов:
Копировать в буфер обмена[dbe://C:/1C DB/DB folder/?config] config = FEC3FC5E46AE98299217D6885B3BE28C4F4D6FB9 [dbe://C:/1C DB/Another DB folder/?config,users] config = FEC3FC5E46AE98299217D6885B3BE28C4F4D6FB9 users = A244BE3830C2B7075C0BB684896B97A0324984A0 [file://C:/Program Files (x86)/1cv82/8.2.9.356/docs/ru/V8UpdateFrom82Beta.htm] = 392BC75149AE02565C7E31592EDCD60F00BFA03C [ndir://C:/Program Files (x86)/1cv8/8.3.5.625/bin/?*] 1cv8.exe = 232F2BCCE6ABB95FD56E3CB3FADE528D851A5D69 1cv8_root.hbk = 025B4C8465D3CD851363B2102478B1CAF2EC444E 1cv8_root.res = 8F48869F82BB222EE25E18502605AC117BB5736A 1cv8_ru.hbk = 81CBB0D5573D8517913053EA88AAADE9785AB443 ...
4.2.5. Файл отчета
Результат работы утилиты фиксируется в файле отчета. Файл содержит информацию в формате UTF-8. Местоположение и имя файла указывается при запуске утилиты. Однако указанное имя будет преобразовано следующим образом: в имя файла будет добавлено дата и время формирования отчета, например, если указано, что отчета надо поместить в файл C:\temp\report.rpt, то фактическое имя файла будет иметь вид C:\temp\report-14.02.26-14.07.58.019446.rpt.
Сам файл имеет следующий формат:
Копировать в буфер обмена[.params] Key=value [Нормализованный вид универсального описателя источника информации] <Объект контроля> = <Обнаруженное изменение>
Секция .params присутствует всегда и содержит описание параметров запуска утилиты. В качестве значения Key могут выступать следующие значения:
● datetime – дата и время запуска утилиты;
● workdir – рабочий каталог при запуске утилиты;
● exepath – путь к исполняемому файлу с утилитой;
● mode – режим запуска утилиты:
● create – режим формирования базы эталонов;
● check – режим проверки эталонов.
● etalon – путь к базе эталонов;
● report – путь к файлу отчета (как он указан в командной строке запуска утилиты);
● debug – путь к файлу с отладочной информацией или пустая строка, если не задан вывод отладочной информации;
● in – путь к файлу с параметрами. Если в командной строке запуска указано более одного параметра –in, то возможно наличие нескольких ключей in в секции .params;
● param – все распознанные параметры командной строки запуска утилиты, разделенные запятыми.
Если в каком-либо источнике (из базы эталонов) обнаружены различия между базой эталонов и фактически состоянием файлов на диске, то в файл отчета помещается секция с описанием изменившегося источника и ниже выводятся обнаруженные изменения для объектов контроля. Если объект контроля не изменился – по такому объекту информации не выводится.
Обрабатываются следующие возможные изменения:
● A – в источнике информации обнаружен новый объект контроля;
● D – в источнике информации удален объект контроля, который существовал на момент формирования базы эталонов;
● M – объект контроля модифицирован.
Рассмотрим фрагмент файла отчета:
Копировать в буфер обмена[dbe://C:/1C DB/DB folder/?config,users] users = M [ndir://C:/Program Files (x86)/1cv81/bin/?*] 1CMailV8.dll = D 1CMailV8.dll.32 = A
В данном файле отчета зафиксировано, что:
● Для файловой информационной базы, расположенной в каталоге C:/1C DB/DB folder изменено содержимое таблицы пользователей.
● В каталоге C:/Program Files (x86)/1cv81/bin удален файл 1CmailV8.dll и обнаружен новый файл 1CmailV8.dll.32.
4.2.6. Использование утилиты
Запуск утилиты осуществляется с помощью командной строки, имеющей следующие параметры:
Копировать в буфер обменаci <mode> --in <ШаблонИсточника> --etalon <ФайлБазыЭталонов> --report <ФайлОтчета> --debug <ФайлОтладочнаяИнформация> [описание источника]
Параметры имеют следующее значение:
mode
Режим работы утилиты:
● --version, -v – показать номер версии утилиты контроля целостности.
● --help, -h – показать справочную информацию по режимам make и check. В этом случае режим следует указать через пробел после команды получения справочной информации.
● make – сформировать файл базы эталонов или выполнить обновление данных по каким-либо источникам информации (если база эталонов существует, и в ней присутствуют данные по источнику, который указан при запуске утилиты).
● check – проверить целостность переданного списка источников по базе эталонов.
Следующие параметры необходимо указывать только при использовании утилиты в режимах make и check.
--in, -i
Параметр предназначен для указания пути к шаблону источников информации (см. здесь). Таких параметров может быть более одного.
Для режимов make и check следует указать хотя бы одно описание источника. Это может быть параметр --in (-i) или простое указание описания источника (см. ниже параметр описание источника).
--etalon, -e
Параметр предназначен для указания полного пути к файлу с базой эталонов (см. здесь).
Для режимов make и check является обязательным параметром.
--report, -r
Параметр предназначен для указания полного пути к файлу отчетом (см. здесь).
Для режимов make и check является обязательным параметром.
--debug, -d
Параметр предназначен для указания полного пути к файлу с отладочной информацией. Файл необходим для технического персонала фирмы «1С» в случае расследования некорректного поведения утилиты.
описание источника необязательный
Позволяет указать источник информации без указания файла шаблона (в том числе и несколько описаний). Для этого источник следует указывать точно в таком же формате, как и каждая строка списка шаблонов источников информации (см. здесь). В своей работе утилита использует все описания источников, которые обнаружила при своем запуске (как с помощью параметра in, так и с помощью простого указания).
4.2.7. Рекомендации по установке и использованию
Утилита контроля целостности не имеет функций самоконтроля. В связи с эти обеспечение неизменности файлов самой утилиты возложено на системного администратора. В качестве средства обеспечения можно использовать права доступа файловой системы на каталог с утилитой, файлы баз эталонов и файлы отчетов.
В качестве возможного сценария использования можно привести следующий вариант:
1. Утилита устанавливается в каталог, отличающийся от каталога установки системы «1С:Предприятие».
2. Для работы с утилитой создаётся привилегированный пользователь с ограниченными правами, однако, достаточными для работы со всеми объектами контроля в режиме чтения.
3. Права доступа к исполняемым и конфигурационным файлам утилиты ограничиваются созданным пользователем (т.е. любой доступ к файлам любых других пользователей должен быть запрещён).
4. Работать с утилитой следует от имени созданного пользователя.
Вышеперечисленные правила обеспечат высокий уровень защищённости утилиты от несанкционированного доступа и дискредитации.
В этом случае общая схема использования выглядит следующей:
1. Для запуска утилиты необходимо войти в систему от имени привилегированного пользователя. Если утилита запускается с помощью системного планировщика, необходимо обеспечить, чтобы запуск утилиты планировщиком также выполнялся от имени привилегированного пользователя.
2. Выполняется запуск утилиты в одном из необходимых режимов: создания базы эталонов или ее проверки целостности источников.
3. Выполняется анализ отчета о работе утилиты.
Таким образом, применение утилиты (и использование результатов работы утилиты) возможно только для ограниченного круга доверенных лиц, которые знают имя и пароль привилегированного пользователя, созданного для использования утилиты контроля целостности.
4.3. Утилита преобразования cnvdbfl
Файл базы данных имеет несколько версий внутреннего формата:
1. Версия 8.2.14 – имеет размер внутренней страницы файла базы данных равный 4096 байт. Размер внутреннего файла не может превышать 4 Гбайта. Более подробно про внутренний файл (см. здесь).
2. Версия 8.3.8 – размер внутренней страницы файла базы данных может принимать несколько значений: 4096, 8192, 16384, 32768 и 65536 байт. Кроме того, формат версии 8.3.8 обеспечивает более оптимальный формат хранения некоторых внутренних данных. Размер внутреннего файла не может превышать 4 Гбайта (при размере страницы в 4096 байта) и 6 Гбайт (при размере страницы 8192, 16384, 32768 и 65536 байт). Более подробно про внутренний файл (см. здесь).
Система «1С:Предприятие» версии 8.3.8 и старше обеспечивает функционирование с файлом 1Cv8.1CD любого формата без дополнительных действий. Система «1С:Предприятие» версии 8.3.7 и младше обеспечивает функционирование с файлом 1Cv8.1CD только версии 8.2.14. Преобразование между двумя форматами возможно либо с помощью операции выгрузки/загрузки данных информационной базы в файл .dt, либо с помощью специальной утилиты cnvdbfl.
Утилита cnvdbfl является утилитой командной строки и позволяет:
1. преобразовывать файлы 1Cv8.1CD между различными форматами;
2. изменять размер страницы файла для формата 8.3.8.
Утилита доступна только в 32-разрядном варианте.
Для запуска утилиты используется командная строка следующего вида:
Копировать в буфер обменаcnvdbfl <ключи> <путь к 1CV8.1CD>
Ключи могут быть следующими:
● --help или –h
Отображение краткой информации об утилите.
● --version или –v
Получение версии утилиты.
● --info или –i
Отображение информации о формате файла 1Cv8.1CD. Для файлов базы данных, с которыми не работали в системе «1С:Предприятие» версии 8.2.14 и старше, будет выдано диагностическое сообщение о невозможности отобразить информацию о файле.
● --convert или –c
Выполнить конвертацию файла 1Cv8.1CD. Если ключ используется без указания параметров, то будет выполнена конвертация в формат 8.3.8 с размером страницы равным 8192 байтам.
При исполнении команды следует указать один из следующих параметров:
● --format=<формат> или –f <формат>
Служит для указания формата, в который следует конвертировать файл 1Cv8.1CD. <формат> может принимать следующие значения:
● 8.2.14 – выполнить конвертация в формат 8.2.14.
● 8.3.8 – выполнить конвертацию в формат 8.3.8.
● --page=<размер страницы> или –p <размер страницы>
Служит для указания размера страницы для формата 8.3.8. Значение по умолчанию – 8192. При указании параметра –f 8.2.14 данный параметр игнорируется. <размер страницы> может принимать следующие значения:
● 4096 или 4K;
● 8192 или 8K;
● 16384 или 16K;
● 32768 или 32K;
● 65536 или 64K.
Далее представлены примеры использования утилиты.
Конвертация в формат 8.2.14:
Копировать в буфер обменаcnvdbfl -c -f 8.2.14 c:\temp\1cv8.1cd
Конвертация в формат 8.3.8 со страницей по умолчанию:
Копировать в буфер обменаcnvdbfl -c -f 8.3.8 c:\temp\1cv8.1cd
Конвертация в формат 8.3.8 со страницей размером 16К:
Копировать в буфер обменаcnvdbfl -c -f 8.2.14 –p 16k c:\temp\1cv8.1cd
Получить информацию о файле 1Cv8.1CD:
Копировать в буфер обменаcnvdbfl -i c:\temp\1cv8.1cd
4.4. Утилита ring
4.4.1. Общая информация
Утилита ring – это кроссплатформенная консольная (не имеющая графического интерфейса) утилита для управления локальной конфигурацией процессов системы «1С:Предприятия» и для выполнения различных операций, необходимых для поддержки работы системы.
Утилита ring имеет модульную архитектуру. Модуль – это набор общей (по смыслу или выполняемым действиям) функциональности, доступ к которой осуществляется с помощью команд. Количество команд в модуле не ограничивается. Команда – это некоторое действие, обладающее некоторым набором параметров (или без таковых). Один вызов утилиты ring приводит к выполнению одной команды одного модуля. Одновременно утилита может использовать несколько модулей.
Список установленных и используемых модулей находится в реестре экземпляров модулей ring-commands.cfg, формат и расположение которого см. здесь.
Параметры, которые передаются командам, не могут содержать пробелы. Если параметр содержит пробел – он должен быть заключен в кавычки.
Общая схема вызова команды:
Копировать в буфер обменаring <module> <command> [--parameter "parameter value"]
В приведенной схеме вызова команды:
● ring – имя утилиты.
● <module> – имя модуля.
● <command> – имя используемой команды.
● --parameter – параметр и значение параметра для команды. Количество параметров, а также обязательные и необязательные параметры, значения по умолчанию и т. д. определяются для каждой команды индивидуально.
4.4.2. Системные требования
Работа утилиты ring поддерживается на тех же операционных системах, что и собственно «1С:Предприятие» (см. здесь). Утилита ring доступна в 32– и 64-разрядных версиях.
Дополнительно для работы утилиты ring требуются:
● Java 8 и выше (http://www.java.com/ru/download/).
4.4.3. Установка утилиты
При установке «1С:Предприятия» дистрибутив утилиты размещается в:
● Для ОС Windows: каталоге ExtDst конкретной версии;
● Для ОС Linux: каталоге ExtDst корневого каталога установки.
Файл пакета утилиты имеет имя вида 1c-enterprise-ring-a.b.c-d.arch, где:
● a.b.c-d – это полный номер версии утилиты, расположенной в пакете, который соответствует номеру в виде a.b.c.d.
● arch – архитектура утилиты. Может принимать следующие значения:
● ОС Windows:
● x86 – 32-разрядная версия утилиты;
● x64 – 64-разрядная версия утилиты.
● ОС Linux:
● i386 – 32-разрядная версия утилиты;
● x86_64/amd64 – 64-разрядная версия утилиты (для .rpm/.deb пакетов).
Для ОС Windows пакет имеет расширение .msi, для ОС Linux – .rpm/.deb, в зависимости от используемой ОС.
Установка утилиты выполняется с помощью ручного запуска установки нужного пакета. Утилита ring устанавливается в следующие каталоги:
● ОС Windows:
● 32-разрядная система: C:\Program Files (x86)\1C\1CE\ring;
● 64-разрядная система: C:\Program Files\1C\1CE\ring.
● ОС Linux:
● 32-разрядная система: /opt/1C/1CE/x86/ring;
● 64-разрядная система: /opt/1C/1CE/x86_64/ring.
После завершения установки пакета следует выполнить следующие действия:
● задать переменную окружения JAVA_HOME так, чтобы она указывала на установленную версию Java.
● в зависимости от используемой ОС:
● ОС Windows: проверить что каталог с установленной утилитой добавлен в переменную окружения PATH.
● ОС Linux: добавить каталог с установленной утилитой ring в переменную окружения PATH с помощью команды export PATH=$PATH:<путь к утилите>. Путь к установленной утилите указан выше.
4.4.4. Модуль license
4.4.4.1. Общая информация
Модуль license предназначен для выполнения следующих задач:
● первичное получение лицензии;
● повторное получение и обновление лицензии;
● проверка соответствия файла лицензии текущему компьютеру;
● вывод списка лицензий;
● получение информации о лицензии;
● удаление лицензии.
При описании модуля license используется понятие «хранилище лицензий». Под этим термином следует понимать каталог, в котором располагаются файлы с активированными программными лицензиями. В зависимости от используемой ОС, модуль license использует следующие каталоги в качестве хранилища лицензий по умолчанию:
● ОС Windows: %ALLUSERSPROFILE%\1C\licenses (%ProgramData%\1C\licenses для ОС Windows Vista и старше).
● ОС Linux: /var/1C/licenses.
Полный список каталогов, где могут располагаться программные лицензии см. здесь.
При отображении лицензий используется унифицированное представление вида: пинкод-номер. Так, если имеется программная лицензия, для которой возможно использование пинкода 123-456-789-012 и эта лицензия используется для продукта с регистрационным номером 8000314159, то данная лицензия будет отображаться следующим образом: 123456789012-8000314159. Это же имя следует указывать в том случае, если какая-либо команда модуля license требует в качестве параметра имя лицензии.
Для активации программной лицензии можно использовать два варианта:
1. использование команды activate. В данном случае активация происходит сразу, с использованием веб-сервиса центра лицензирования, без формирования промежуточных файлов.
2. использование последовательности команд prepare-request, acquire и generate. В этом случае вначале подготавливается файл запроса к центру лицензирования (команда prepare-request), затем выполняется запрос к центру лицензирования (с помощью электронной почты) и получается ответ центра лицензирования (в виде файла). Также имеется возможность выполнить формирование файла ответа от центра лицензирования через веб-сервис, без использования электронной почты (команда acquire). Затем на основании запроса и ответа получается файл лицензии (команда generate).
4.4.4.2. Системные требования
Для работы модуля license требуется установленная утилита ring. Модуль license доступен в 32– и 64-разрядных версиях.
Для работы модуля license требуются (дополнительно к требованиям утилиты ring):
● JCE для Java 8 (http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html).
4.4.4.3. Установка модуля
При установке «1С:Предприятия» дистрибутив модуля размещается в:
● Для ОС Windows: каталоге ExtDst конкретной версии;
● Для ОС Linux: каталоге ExtDst корневого каталога установки.
Файл пакета утилиты имеет имя вида 1c-enterprise-license-tools-a.b.c-d.arch, где:
● a.b.c-d – это полный номер версии модуля, расположенного в пакете, который соответствует номеру в виде a.b.c.d.
● arch – архитектура модуля. Может принимать следующие значения:
● ОС Windows:
● x86 – 32-разрядная версия модуля;
● x64 – 64-разрядная версия модуля.
● ОС Linux:
● i386 – 32-разрядная версия модуля;
● x86_64/amd64 – 64-разрядная версия утилиты (для .rpm/.deb пакетов).
Для ОС Windows пакет имеет расширение .msi, для ОС Linux – .deb/.rpm, в зависимости от используемой ОС.
Установка модуля выполняется с помощью ручного запуска установки нужного пакета. Модуль license устанавливается в следующие каталоги:
● ОС Windows:
● 32-разрядная система: C:\Program Files (x86)\1C\1CE\license-tools;
● 64-разрядная система: C:\Program Files\1C\1CE\license-tools.
● ОС Linux:
● 32-разрядная система: /opt/1C/1CE/x86/license-tools;
● 64-разрядная система: /opt/1C/1CE/x86_64/license-tools.
После установки модуля можно проверить, что он зарегистрировался в реестре экземпляров модулей (см. здесь).
4.4.4.4. Команды модуля
4.4.4.4.1. Команда activate
Активация лицензии с использованием веб-сервиса центра лицензирования.
Командная строка:
Копировать в буфер обменаring license activate –-first-name <имя> --middle-name <отчетсво> --last-name <фамилия> [--email <email>] -–company <компания> --country <страна> --zip-code <индекс> [--region <область> --district <район>] -–town <город> --street <улица> --house <дом> --building <строение> --apartment <квартира> --serial <серийныйНомер> --pin <пинкод> [--previous-pin <предыдущийПинкод>] [--path <хранилище>]
Описание параметров:
● first-name – имя владельца лицензии. При указания параметра company, данный параметр является необязательным.
● middle-name – отчество владельца лицензии. При указания параметра company, данный параметр является необязательным.
● last-name – фамилия владельца лицензии. При указания параметра company, данный параметр является необязательным.
● email – электронная почта владельца лицензии.
● company – организация владельца лицензии. При указании параметров first-name, middle-name, last-name, данный параметр является необязательным. Требуется не менее 5 символов, при этом не должно быть более 3 одинаковых символов подряд.
● country – страна регистрации. Не может быть пустым.
● zip-code – индекс. Не может быть пустым.
● region – область/республика/край.
● district – район.
● town – город. Не может быть пустым.
● street – улица. Не может быть пустым.
● house – номер дома. При указании параметров building или apartment, данный параметр является необязательным. Не может быть пустым.
● building – строение. При указании параметров house или apartment, данный параметр является необязательным. Не может быть пустым.
● apartment – квартира. При указании параметров house или building, данный параметр является необязательным. Не может быть пустым.
● serial – серийный номер программного продукта.
● pin – пинкод, используемый при активации лицензии.
● previous-pin – при повторной активации лицензии в данном параметре указывается пинкод, который использовался при первичной активации лицензии. Не должен совпадать со значением параметра pin.
● path – указывает путь к хранилищу конфигурации, если оно отличается от пути по умолчанию.
Результат работы:
При успешной регистрации, сервер возвращает файл лицензии, который помещается в указанное хранилище. При повторном вводе идентичных данных (включая данные комплекта) на той же машине, генерируется подобный файл лицензии.
В случае успешного завершения код возврата утилиты равен 0. В противном случае код возврата отличается от 0 и в стандартный поток вывода формируется сообщение об ошибке.
4.4.4.4.2. Команда prepare-request
В том случае, если активировать программную лицензию с использованием веб-сервиса центра лицензирования не представляется возможным, имеется возможность активировать лицензию с помощью электронного письма в центр лицензирования. Для этого используются команды prepare-request, acuire и generate в указанном порядке.
Команда prepare-request выполняет подготовку файла для передачи в центр лицензирования.
Командная строка:
Копировать в буфер обменаring license prepare-request –-first-name <имя> --middle-name <отчетсво> --last-name <фамилия> [--email <email>] -–company <компания> --country <страна> --zip-code <индекс> [--region <область> --district <район>] -–town <город> --street <улица> --house <дом> --building <строение> --apartment <квартира> --serial <серийныйНомер> --pin <пинкод> [--previous-pin <предыдущийПинкод> --request <файл>]
Описание параметров:
● first-name – имя владельца лицензии. При указания параметра company, данный параметр является необязательным.
● middle-name – отчество владельца лицензии. При указания параметра company, данный параметр является необязательным.
● last-name – фамилия владельца лицензии. При указания параметра company, данный параметр является необязательным.
● email – электронная почта владельца лицензии.
● company – организация владельца лицензии. При указании параметров first-name, middle-name, last-name, данный параметр является необязательным. Требуется не менее 5 символов, при этом не должно быть более 3 одинаковых символов подряд.
● country – страна регистрации. Не может быть пустым.
● zip-code – индекс. Не может быть пустым.
● region – область/республика/край.
● district – район.
● town – город. Не может быть пустым.
● street – улица. Не может быть пустым.
● house – номер дома. При указании параметров building или apartment, данный параметр является необязательным. Не может быть пустым.
● building – строение. При указании параметров house или apartment, данный параметр является необязательным. Не может быть пустым.
● apartment – квартира. При указании параметров house или building, данный параметр является необязательным. Не может быть пустым.
● serial – серийный номер программного продукта.
● pin – пинкод, используемый при активации лицензии.
● previous-pin – при повторной активации лицензии в данном параметре указывается пинкод, который использовался при первичной активации лицензии. Не должен совпадать со значением параметра pin.
● request – указывает полный путь к файлу, в который будет помещена информация для передачи в центр лицензирования. Если не указан, то текст запроса в центр лицензирования будет выведен в стандартный поток вывода.
Результат работы:
Формируется содержимое файла запроса в центр лицензирования (в файле или в стандартном потоке вывода).
В случае успешного завершения код возврата утилиты равен 0. В противном случае код возврата отличается от 0 и в стандартный поток вывода формируется сообщение об ошибке.
4.4.4.4.3. Команда acquire
Команда предназначена для формирования файла ответа по ранее сформированному файлу запроса, с использованием веб-сервиса центра лицензирования.
Командная строка:
Копировать в буфер обменаring license acquire [--request <ФайлЗапроса>] [--responce <ФайлОтвета>]
Описание параметров:
● request – полное имя к файлу с запросом к центру лицензирования. Если параметр не указан, то содержимое файла запроса ожидается со стандартного потока ввода.
● responce – полное имя файла, в которое будет помещен ответ центра лицензирования. Если параметр не указан, то содержимое файла ответа будет выведено в стандартный поток вывода.
Результат работы:
Ответ центра лицензирования.
В случае успешного завершения код возврата утилиты равен 0. В противном случае код возврата отличается от 0 и в стандартный поток вывода формируется сообщение об ошибке.
4.4.4.4.4. Команда generate
Команда предназначена для формирования файла лицензии по данным запроса к центру лицензирования и его (центра) ответа.
Командная строка:
Копировать в буфер обменаring license generate –-license <файлЛицензии> --request <ФайлЗапроса> --responce <ФайлОтвета>
Описание параметров:
● license – полное имя к файлу с получившейся лицензией. Если параметр не указан, то содержимое файла активированной лицензии выводится в стандартный поток вывода.
● request – полное имя к файлу с запросом к центру лицензирования.
● responce – полное имя файла, в которое будет помещен ответ центра лицензирования.
Результат работы:
Файл с активированной лицензией.
В случае успешного завершения код возврата утилиты равен 0. В противном случае код возврата отличается от 0 и в стандартный поток вывода формируется сообщение об ошибке.
4.4.4.4.5. Команда list
Команда предназначена для отображения списка лицензий в хранилище лицензий.
Командная строка:
Копировать в буфер обменаring license list [--path <хранилище>]
Описание параметров:
● path – указывает путь к хранилищу конфигурации, если оно отличается от пути по умолчанию.
Результат работы:
Список имен обнаруженных лицензий.
4.4.4.4.6. Команда info
Выводит информацию об указанной лицензии.
Командная строка:
Копировать в буфер обменаring license info [--name <имя>] [--path <хранилище>]
Описание параметров:
● name – имя лицензии, для которой ожидается получение информации. Если данный параметр отсутствует, то система ожидает со стандартного потока ввода содержимое (не имя!) файла с активированной лицензией.
● path – указывает путь к хранилищу конфигурации, если оно отличается от пути по умолчанию.
Результат работы:
Информация о лицензии в следующем формате:
Копировать в буфер обменаИнформация о пользователе:
Имя :
Отчество :
Фамилия :
Страна :
Индекс :
Город :
Улица :
Квартира/офис :
Информация о продукте:
Дата комплектации :
Описание :
Регистрационный номер :
Код продукта :
При выводе не выполняется соответствие текущего оборудования компьютера и оборудования, использованного при активизации лицензии.
4.4.4.4.7. Команда validate
Проверяет соответствие оборудования на компьютере оборудованию, которое было зафиксировано в момент активации лицензии.
Командная строка:
Копировать в буфер обменаring license validate [--name <имя>] [--path <хранилище>]
Описание параметров:
● name – имя лицензии, для которой ожидается получение информации. Если данный параметр отсутствует, то система ожидает со стандартного потока ввода содержимое (не имя!) файла с активированной лицензией.
● path – указывает путь к хранилищу конфигурации, если оно отличается от пути по умолчанию.
Результат работы:
Либо информация о том, что оборудование компьютера соответствует оборудованию, зафиксированному в момент активации лицензии, либо отображает перечень различий (если перечень оборудования различается).
В случае успешного завершения код возврата утилиты равен 0. В противном случае код возврата отличается от 0 и в стандартный поток вывода формируется сообщение об ошибке. Отдельные ситуации выделяются специальными кодами ошибок:
● 1 – изменены параметры компьютера;
● 2 – ошибка проверки цифровой подписи лицензии.
4.4.4.4.8. Команда put
Помещает выбранный файл с активированной лицензией в указанное хранилище лицензий.
Командная строка:
Копировать в буфер обменаring license put --license <полноеИмя> [--path <хранилище>]
Описание параметров:
● license – полный путь к файлу активированной лицензии, который будет помещен в хранилище лицензий.
● path – указывает путь к хранилищу конфигурации, если оно отличается от пути по умолчанию.
Результат работы:
Помещает указанный файл с активированной лицензией в указанное (явно или неявно) хранилище лицензий.
В случае успешного завершения код возврата утилиты равен 0. В противном случае код возврата отличается от 0.
4.4.4.4.9. Команда get
Получает файл с указанной активированной лицензией в указанном хранилище лицензий и записывает в файл.
Командная строка:
Копировать в буфер обменаring license get –name <имя> [--license <полноеИмя>] [--path <хранилище>]
Описание параметров:
● name – имя лицензии, для которой ожидается получение информации.
● license – полный путь к файлу, в который будет записана получаемая лицензия. Если не указано – содержимое файла с лицензией выводится в стандартный поток вывода.
● path – указывает путь к хранилищу конфигурации, если оно отличается от пути по умолчанию.
Результат работы:
Удаленная лицензия в хранилище лицензий.
В случае успешного завершения код возврата утилиты равен 0. В противном случае код возврата отличается от 0.
4.4.4.4.10. Команда remove
Удаляет указанную лицензию из указанного хранилища лицензий.
Командная строка:
Копировать в буфер обменаring license remove –name <имя> [--path <хранилище>] [--all]
Описание параметров:
● name – имя лицензии, которую требуется удалить из хранилища.
● path – указывает путь к хранилищу конфигурации, если оно отличается от пути по умолчанию.
● all – удалить все лицензии с заданным именем в хранилище.
Результат работы:
Получает из хранилища файл с активированной лицензией и помещает его в файл с указанным именем.
В случае успешного завершения код возврата утилиты равен 0. В противном случае код возврата отличается от 0.
4.5. Утилита административной консоли 1cv8a
Утилита административной консоли (1cv8a) предназначена для ускорения проверки и исправления определенных проблем:
● Тестирование и исправление для таблиц узлов панов обмена.
● Тестирование и исправление хеш-полей таблиц информационной базы.
Утилита административной консоли позволяет исправлять некоторые проблемы, возникающие с информационной базой, без запуска конфигуратора и за более короткое время. Это обусловлено тем, что утилита административной консоли занимается обработкой только проблемных объектов и при этом выполняется ограниченный набор исправлений.
Для запуска утилиты используется командная строка следующего вида:
Копировать в буфер обмена1cv8a <режимы> <ключи>
Режимы могут быть следующими:
● help [режим] или h [режим]
Отображение краткой информации об утилите или какому-либо режиму работы.
● ib-check-and-repair или ibcr
Выполнение операции тестирования и исправления данных.
При исполнении команды можно указывать следующие параметры:
● --repair или -r
Указывает на необходимость выполнить исправление найденных ошибок.
● --exchange-plan-integrity или -epi
Выполнять тестирование и исправление таблиц узлов планов обмена.
● --exchange-plan-integrity-outFile=<имя XML-файла> или -epiof <имя XML-файла>
Указывает имя XML-файла для сохранения состояния записей ЭтотУзел планов обмена. Параметр является обязательным при выполнении команды с параметром --exchange-plan-integrity.
● --dimhash-integrity или -dhi
Выполняет пересчет итогов для устранения некорректного расчета итогов для регистров накопления и бухгалтерии, если среди измерений есть хотя-бы одно измерение с типом Строка и в состав индекса по измерениям входят более 16 полей базы данных. Пересчет итого выполняется только в том случае, если одновременно с параметром --dimhash-integrity используется параметр --repair. Если параметр --repair не указан – выполняется только проверка того, что в информационной базе есть некорректные итоги регистров накопления и бухгалтерии.
● --connection-string=<string>
Указывает строку соединения с информационной базой.
● --file=<path> или -f <path>
Указывает путь к каталогу информационной базы в файловом варианте.
● --server=<server:port/infobase> или -s <server:port/infobase>
Указывает параметры подключения к информационной базе в клиент-серверном варианте.
● --user=<name> или -u <name> или -n <name>
Указывает имя пользователя, от имени которого будет выполняться подключение к информационной базе.
● --password=<password> или –p <password>
Указывает пароль пользователя информационной базы, от имени которого будет выполняться подключение к информационной базе.
● --unlock-code=<code>
Указывает код разрешения соединения с информационной базой (если задан).
● --security-level=<level>
Указывает уровень защищенности соединения с сервером.
● --verbose
Указывает на необходимость подробного вывода сообщений о ходе выполнения.